package thread;

public class ThreadDemo13 {
    public static void main(String[] args) {
        Thread t = new Thread(() ->{
        while (!Thread.currentThread().isInterrupted()) {//利用系统自带的标志位实现
            System.out.println("我是一个正在工作的线程");
            try {
                Thread.sleep(1000);//会清除标志位
            } catch (InterruptedException e) {
               e.printStackTrace();//打印异常信息
                break;
                //加上break,此时抛出异常后,线程也会结束
            }
        }
            System.out.println("线程执行完毕!");
        });
        t.start();
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        //使用一个interupt方法,来修改刚才标志的位置的值
        System.out.println("结束t线程");
        t.interrupt();//相当于isQuit = true,这个是内部自带的标志位
    }//sleep提前唤起
}
